﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using L = Science.Mathematics.LinearAlgebra;

namespace Strang3Ed.Chapter03.Section3
{
    public class ExampleA
    {
        public ExampleA()
        {
        }
        private string result;
        public string Result
        {
            get { return result; }
        }
        public void Compute()
        {
            double[,] a = { { 1.0, 1.0, 0.0, 2.0}, 
                            { 1.0, 2.0, 0.0, 3.0},
                            { 2.0, 3.0, 0.0, 5.0}};  

            L.Matrix A = new L.Matrix(a);

            L.FactorizationEAeqR obj = new L.FactorizationEAeqR(A);
            obj.Compute();

            result += obj.ReducedRowEchelonForm.ToString();

            result += obj.Elimination.Inverse.ToString();
        }
    }
}
/*
1     0     0     1     
0     1     0     1     
0     0     0     0     

1     1     0     
1     2     1     
2     3     0     
*/
